<?php

abstract class Com_Basil_DynamicData_Collection {

	public static function initFromString($content) {	
		//must be JSON code
		$jsonObj = Zend_Json::decode($content);
		if ($jsonObj['type']=='small') {
			return new Com_Basil_DynamicData_ArrayCollection($jsonObj);
		} else {
			//reference table
			return new Com_Basil_DynamicData_ReferenceTableCollection($jsonObj);
		}
	}
	
	abstract function hasNext();
	abstract function next();
	abstract function reset();
	abstract function addToCollection($object);
	
	/**
	 * Enter description here ...
	 * @param Com_Basil_DynamicData_Object $object
	 */
	abstract function removeFromCollection($object);
	abstract function store();
	
	
	
}

?>